package com.shop.trade.atom.atomsvc;

import com.shop.common.model.InputBean;
import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.trade.ShoppingCartInput;
import com.shop.common.model.result.trade.ShoppingCartOutput;

import java.util.List;

public interface IShopCartAtomSvc {
    /**
     * @Author zhoulk
     * @Description //TODO 添加商品到购物车
     * @Date 20:12 2019/3/11
     *
     * @Param [shoppingCartInput]
     * @return com.shop.common.model.ResultModel<java.lang.Integer>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> insertShoppingCart(ShoppingCartInput shoppingCartInput);

    /**
     * @Author zhoulk
     * @Description //TODO 删除购物车商品
     * @Date 20:13 2019/3/11
     *
     * @Param [shoppingCartInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO        
     **/
    ServiceBean<String> deleteShoppingCart(List<Integer> ids);

    /**
     * @Author zhoulk
     * @Description //TODO 查询购物车商品
     * @Date 20:13 2019/3/11
     *
     * @Param [shoppingCartInput]
     * @return com.shop.common.model.ResultModel<com.shop.common.model.result.trade.ShoppingCartOutput>
     * @errorCode //TODO        
     **/
    ServiceBean<ShoppingCartOutput> selectShoppingCart(ShoppingCartInput shoppingCartInput);

    /**
     * @Author zhoulk
     * @Description //TODO 查询购物车商品列表
     * @Date 20:13 2019/3/11
     *
     * @Param [shoppingCartInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.trade.ShoppingCartOutput>>
     * @errorCode //TODO        
     **/
    ServiceBean<List<ShoppingCartOutput>> selectShoppingCartList(ShoppingCartInput shoppingCartInput);

    /**
     * @Function com.shop.trade.atom.atomsvc.IShopCartAtomSvc.qryShoppingCarts4P
     * @Description //TODO 分页查询购物车列表
     *
     * @param: inputBean
     * @return com.shop.common.model.ServiceBean<java.util.List < com.shop.common.model.result.trade.ShoppingCartOutput>>
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date 2019/4/7 23:04
     *
     **/
    ServiceBean<List<ShoppingCartOutput>> qryShoppingCarts4P(InputBean<ShoppingCartInput> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 更新购物车商品信息
     * @Date 20:33 2019/3/11
     *
     * @Param [shoppingCartInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> updateShoppingCart(ShoppingCartInput shoppingCartInput);

}
